package aceim.protocol.snuk182.vkontakte.model; import java.util.Calendar; import java.util.Date; import org.json.JSONException; public class AccessToken extends ApiObject { private final String token; private final long userId; private final Date expirationTime; private final boolean unexpirable; public AccessToken(String token, long userId, long expirationTime, boolean unexpirableToken) { this.token = token; this.userId = userId; Calendar c = Calendar.getInstance(); c.setTimeInMillis(expirationTime); this.expirationTime = c.getTime(); this.unexpirable = unexpirableToken; } public AccessToken(String json) throws JSONException { super(json); token = super.getString("access_token"); userId = super.getJSONObject().getLong("user_id"); long seconds = getJSONObject().getLong("expires_in"); Calendar c = Calendar.getInstance(); c.add(Calendar.SECOND, (seconds > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int)seconds)); expirationTime = c.getTime(); unexpirable = seconds == 0; } public String getToken() { return token; } public long getUserID() { return userId; } public Date getExpirationTime() { return expirationTime; } /** * @return the unexpirable */ public boolean isUnexpirable() { return unexpirable; } }